#pragma once

using namespace System;
using namespace System::Runtime::InteropServices;

#include "RobotBase.h"


namespace SimulatorBase {
	public ref class RobotSimCon : public RobotBase
	{
	public:
		RobotSimCon(void);
		~RobotSimCon(void);
		!RobotSimCon(void)
		{

		}
		virtual void SetDelegatorSetSensorMode(RobotBase::SetSensorModeHandler^ handler){
		}
		virtual void SetDelegatorSetLightBrightness(RobotBase::SetLightBrightnessHandler^ handler)
		{
		}
		virtual void SetDelegatorSetLightStatus(RobotBase::SetLightStatusHandler^ handler)
		{
		}
		virtual void SetDelegatorSendMessage(RobotBase::SendMessageHandler^ handler)
		{
		}
		virtual void SetDelegatorReceiveMessage(RobotBase::ReceiveMessageHandler^ handler)
		{
		}
		virtual void SetDelegatorClearMessage(RobotBase::ClearMessageHandler^ handler)
		{
		}
		virtual void SetDelegatorOrderMotor(RobotBase::OrderMotorHandler^ handler)
		{
		}
		virtual void SetDelegatorCputCLCD(RobotBase::CputCLCDHandler^ handler)
		{
		}
		virtual void SetDelegatorCputWLCD(RobotBase::CputWLCDHandler^ handler)
		{
		}
		virtual void SetDelegatorCputSLCD(RobotBase::CputSLCDHandler^ handler)
		{
		}
		virtual void SetDelegatorClearLCD(RobotBase::ClearLCDHandler^ handler)
		{
		}
		virtual void SetDelegatorPlay(RobotBase::PlayHandler^ handler)
		{
		}
		virtual void SetDelegatorSetSoundDuration(RobotBase::SetSoundDurationHandler^ handler)
		{
		}
		virtual void SetDelegatorSetSoundInternote(RobotBase::SetSoundInternoteHandler^ handler)
		{
		}
		virtual void SetDelegatorStopSound(RobotBase::StopSoundHandler^ handler)
		{
		}
		virtual void SetDelegatorBeepSound(RobotBase::BeepSoundHandler^ handler)
		{
		}
		virtual void SetDelegatorNotifyLoopCount(RobotBase::NotifyLoopCountHandler^ handler)
		{
		}

		virtual String^ GetSensorName(Int32 port) {
			return gcnew String("");
		}
		virtual String^ GetMotorName(Int32 port){
			return gcnew String("");
		}
		virtual void SetSensorValue(Int32 port, Int32 value)
		{
		}

		virtual Int32 GetSensorValue(Int32 port)
		{
			return -1;
		}

		virtual void SetBatteryLevel(Int32 level)
		{
		}
		virtual Int32 GetBatteryLevel()
		{
			return -1;
		}

		virtual void SendMessageToRobot(Byte msg){
		}
		virtual void SetKeyStatusToRobot(Boolean onoff, Boolean run, Boolean view, Boolean prog){
		}

		virtual Int32 Initialize() {
			return -1;
		}
		virtual Int32 Execute(){
			return -1;
		}
		virtual Int32 Terminate(){
			return -1;
		}

		virtual String^ GetAppName(){
			return gcnew String("");
		}

	protected:

	private:

	};
}
